SSL-Übertragung zwischen IQ4docs Komponenten und zum Browser
Die Kommunikation der IQ4docs Komponenten (vom IIS ausgeführte Microservices) sowie der Aufruf der Weboberfläche im Browser kann verschlüsselt werden. Alle URLs müssen dann mit https:// angegeben werden. Verwenden Sie ein gültiges und vertrauenswürdiges Zertifikat, wird dies im Browser entsprechend angezeigt (meist durch eine grüne Kennzeichnung).
Es muss ein Zertifikat ohne Perfect Forward Secrecy (PFS) verwendet werden (das Zertifikat muss von JAVA ME 1.4 unterstützt werden). Ältere Gerätemodelle kommen u.U. nicht mit allen Verschlüsselungstiefen zurecht. Erwerben Sie am besten ein Zertifikat von einer offiziellen Zertifizierungsstelle.
Um verschlüsselte Übertragung im IIS zu ermöglichen, muss das Zertifikat im Webserver eingespielt und in der Bindung der Default Web Site eingetragen werden, siehe SSL Zertifikat im IIS installieren.
Wenn die Übertragung zwischen den Services verschlüsselt abläuft, greift auch das Gerät mit einer HTTPS-Verbindung auf die Services zu.
Es ist geräteherstellerabhängig ob das Zertifikat als vertrauenswürdig akzeptiert wird. Falls nicht, erscheint ggf. am Gerät eine Fehlermeldung, dass das Gerät nicht auf den Server zugreifen kann (z.B. "Verbindung zum Ziel kann nicht hergestellt werden"). In diesem Fall muss das CA-Zertifikat (Certificate Authority - dieses Zertifikat bestätigt die Zugehörigkeit zu einer vertrauenswürdigen Zertifizierungsstelle) auf dem Gerät hinterlegt werden (üblicherweise geht dies über die Weboberfläche des Gerätes). Falls Sie nicht wissen, wie das Zertifikat auf Ihrem Gerät hinterlegt wird, wenden Sie sich an ihren Ansprechpartner für Gerätefragen .
Immer mehr Gerätehersteller erlauben nicht mehr die Vermischung unverschlüsselter und verschlüsselter Übertragungen. Die Verbindung zur RabbitMQ per WebStomp-Protokoll (ws) von den Geräten muss dann ebenfalls verschlüsselt werden (wss). Ansonsten kann es z.B. sein, dass die Kartenanmeldung am Gerät nicht mehr funktioniert.
Um die Übertragung vom Gerät zur RabbitMQ zu verschlüsseln sind folgende Schritte erforderlich:
Passen Sie die nachstehenden Zeilen in der LocalService.config des DeviceService an oder fügen Sie die Zeilen vor <\appSettings> hinzu.
-
<add key="RabbitMqStompUseSSL" value="true" />
Aktivieren Sie die Verschlüsselung (true).
-
<add key="RabbitMqStompPortSSL" value="15675" />
Geben den Port für die verschlüsselte Übertragung an (Standard: 15675).
Legen Sie die Zertifikatsdateien (.pem und .crt sowie die Schlüsseldatei .key) in einem Verzeichnis ab, das der RabbitMQ-Dienst erreichen kann. Sie erhalten diese Dateien von Ihrem Ansprechpartner für Serverzertifikate. Nehmen Sie dann Anpassungen im Bereich ssl_config (Unterbereich von rabbitmq_web_stomp) vor.
-
{port, 15675}
Geben Sie hier den Port an, der in der LocalService.config des DeviceService für RabbitMqStompPortSSL angegeben wurde. -
{cacertfile, "c:\\Certificates\\cacert.crt"}
Geben Sie den Pfad und den Namen des CA-Zertifikates an (Certificate Authority). Dieses Zertifikat bestätigt die Zugehörigkeit zu einer vertrauenswürdigen Zertifizierungsstelle. Es ist nur in bestimmten Fällen erforderlich (z.B. bei selbstsignierten Zertifikaten oder mehrere Domänen) und muss dann auf dem Windows-Server unter Computerzertifikate verwalten einer vertrauenswürdigen Stammzertifizierungsstelle hinzugefügt worden sein). -
{certfile, "c:\\Certificates\\cert.crt"}
Geben Sie den Pfad und den Namen des Serverzertifikats an. Dieses Zertifikat ist üblicherweise auf den Hostnamen (FQDN) des IQ4docs-Servers ausgestellt. -
{keyfile, "c:\\Certificates\\key.key"}
Geben Sie den Pfad und den Namen der Zertifikats-Schlüsseldatei an. -
{password, "password"}
Falls die Key-Datei des Zertifikates passwortgeschützt ist, geben Sie das Passwort hier an. -
{versions, ['tlsv1.2', 'tlsv1.1']}
Geben Sie hier an, welche Verschlüsselungsprotokolle, bzw. Protokollversionen erlaubt sind. Im Beispiel sind dies TLS 1.1 und TLS 1.2. Möchten Sie z.B. TLS 1.1 nicht mehr zulassen, entfernen Sie den Eintrag aus der kommaseparierten Liste (ist nur noch ein Eintrag vorhanden, entfernen Sie auch das Komma). -
{ciphers, [
"ECDHE-ECDSA-AES256-GCM-SHA384",
"ECDHE-RSA-AES256-GCM-SHA384",
"ECDH-ECDSA-AES256-GCM-SHA384",
"ECDH-RSA-AES256-GCM-SHA384",
"DHE-RSA-AES256-GCM-SHA384",
"DHE-DSS-AES256-GCM-SHA384",
"ECDHE-ECDSA-AES128-GCM-SHA256",
"ECDHE-RSA-AES128-GCM-SHA256",
"ECDH-ECDSA-AES128-GCM-SHA256",
"ECDH-RSA-AES128-GCM-SHA256",
"DHE-RSA-AES128-GCM-SHA256",
"DHE-DSS-AES128-GCM-SHA256"
]}Die Angabe von der ciphers (Verschlüsselungsverfahren) ist nicht zwingend erforderlich, kann aber die erlaubten Verschlüsselungsmethoden einschränken und hier so für weitere Sicherheit sorgen. Je nach Gerätehersteller ist hier die Verschlüsselungstiefe auf z.B. 128 Bit beschränkt.
Im nachstehenden Bild ist ein beispielhafter Ausschnitt einer rabbitmq.config zu sehen.
Geben Sie im verwendeten System-Bereich (Standardmäßig Standard Bereich) das Protokoll https an. Achten Sie darauf, dass der Name des Servers mit Domänenenangabe genau so angegeben wird, wie die Domäne im Zertifikat angegeben wurde (z.B. printserver.company.com), siehe System-Bereiche.
Geben Sie für den Aufruf des WebClients und des WebAdmin in der LocalService.config des WebClients (<Installationspfad>\WebClient\LocalService.config) und des Webadmins (<Installationspfad>\WebAdmin\LocalService.config) die URL verschlüsselt an.
- Vorher (unverschlüsselt): <add name="WebConfigUrl" value="http://printserver/ConfigService" />
- Jetzt (verschlüsselt): <add name="WebConfigUrl" value="https://printserver.company.com/ConfigService" />
Damit die Webseiten von IQ4docs nur noch verschlüsselt aufgerufen werden können, setzen Sie die Einstellungen der Default Web Site entsprechend:
- Klicken Sie im IIS-Manager auf Default Web Site.
- Öffnen Sie auf der rechten Seite im Bereich IIS die SSL-Einstellungen.
- Unter Clientzertifikate wählen Sie Akzeptieren aus.
Stoppen Sie nach den Änderungen alle Anwendungspools. Starten die dann als erstes den Anwendungspool ConfigService. Wenn dieser gestartet ist (warten Sie einen Moment), starten Sie alle weiteren Anwendungspools wieder.
Im Webbrowser rufen Sie die IQ4docs Webseiten nun mit https und dem genauen Namen, wie er im Zertifikat angegeben wurde, auf, z.B.:
- Vorher (unverschlüsselt): http://printserver/webadmin
- Jetzt (verschlüsselt): https://printserver.company.com/webadmin